Skip to content

docs: align two published passages with the schemas they describe (capabilities vocabulary, analytics fields[]) - #16234

Merged
baozhoutao merged 2 commits into
mainfrom
claude/issue-15982-published-prose-vs-schema
Sep 6, 2026
Merged

docs: align two published passages with the schemas they describe (capabilities vocabulary, analytics fields[])#16234
baozhoutao merged 2 commits into
mainfrom
claude/issue-15982-published-prose-vs-schema

Conversation

@claude

@claude claude Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Fixes #15982
Fixes #16141

Two published passages asserted a wire/schema shape that the spec schema on the same tree
contradicts. Both are aligned to the schema and the dead names are retired. Nothing in
packages/** changes: packages/spec/src/api/discovery.zod.ts and
packages/spec/src/api/analytics.zod.ts are the truth this PR aligns to, not files it
edits. No product-semantics claim is added.

One commit per card; the two passages are the whole diff.

1 — content/docs/kernel/services-checklist.mdx (commit 1)

The "When a plugin registers a service" bullet named the retired top-level features map
and the retired workflow slot, and closed with "there is no features.auth".

Measured on this tree:

So the old list was wrong in three directions at once: it named two retired keys, it
omitted four slot-derived ones (automation, cron, export, chunkedUpload), and it
listed search as slot-following when #7602 made it a stated false. The rewritten bullet
states each of those and keeps #14646's websockets clause verbatim — that clause is
measured and true, and was deliberately left intact.

Beyond the two names the card asked for. Correcting only features and workflow
would have left a rewritten bullet still asserting that search follows slot presence and
still under-listing the slot-derived set. Those are the same defect class in the same
sentence, mechanically decidable from the same two files, so they are corrected here rather
than left as fresh false prose. Flagged for the reviewer as the one place this PR goes past
the card's literal wording.

Not done, on purpose. Triage on #15982 ruled that adding a gate to check this bullet
against WellKnownCapabilitiesSchema is new work excluded from the card (「另立卡」). No
gate is added and no issue is filed for it; it is reported to the PM instead.

2 — content/docs/api/data-api.mdx (commit 2)

The Callout type="info" under POST /analytics/query said each fields[] entry carries
"exactly name and type … and nothing else", and that reading data.fields[i].label or
.format off a query result "yields undefined".

Both sentences are false on this tree:

The rewrite states the conditional form — "when the producer declares them" — because
that is exactly what the schema supports. Triage's hard boundary is honoured: no strategy
census was run, so the page does not claim every strategy always emits these keys.

One fact added on top of the ruling, measured while writing it: the callout's remedy
("read them from the cube metadata instead") is unreachable for format.
GET /analytics/meta publishes the CubeMeta discovery projection — name, type,
title only — and its docblock (analytics.zod.ts:155-174) records that sql,
description, granularities and format "are dropped by the projection and are NOT
reachable through this endpoint" (#6442). The new callout says so, and keeps cube metadata
named as the declaration surface.

The JSON example above the callout is untouched: a result whose columns declare none of the
optional members is a valid response, so it contradicts nothing the new text says.

Scope and neighbours

  • #14646 is not addressed here — its websockets clause is preserved as written.
  • #14546 is not addressed here; it stays open on its own terms.
  • #16144 touched this same page at :447+ (the /analytics/meta prose). Verified
    non-overlapping: its only hunk on this file is @@ -447 +447,4 @@, below the callout.
  • content/docs/** only ⇒ skip-changeset: this PR releases nothing from any package.
  • turbo ls --affected against the merge base reports 0 packages, so no package test or
    typecheck is owed; the docs gate family is what applies.

Generated by Claude Code

…the closed capabilities vocabulary

The bullet named the retired top-level `features` map and the retired `workflow`
slot, and read `there is no features.auth`. Rewrite it against
`WellKnownCapabilitiesSchema` (`packages/spec/src/api/discovery.zod.ts`) and the
dispatcher that fills it: name the entries that really follow slot presence,
keep the measured `websockets` clause, and record the vocabulary keys that are
answered from something other than a slot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW8
…ly declares

The callout said each entry carries exactly `name` and `type` "and nothing
else", and that reading `label` / `format` off a query result yields
`undefined`. `AnalyticsResultResponseSchema` declares `label` / `format` /
`currency` / `percentScale` / `builtinAggregate` as optional members and the
`AnalyticsResult` contract mirrors them, so both sentences are false on this
tree. Rewrite the callout in the conditional form the schema supports and keep
the cube-metadata pointer as the declaration surface it is.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW8
@claude claude Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Sep 6, 2026
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Sep 6, 2026
@baozhoutao
baozhoutao marked this pull request as ready for review September 6, 2026 07:19
@baozhoutao
baozhoutao enabled auto-merge September 6, 2026 07:19
@baozhoutao
baozhoutao added this pull request to the merge queue Sep 6, 2026
Merged via the queue into main with commit 0e16fc4 Sep 6, 2026
37 checks passed
@baozhoutao
baozhoutao deleted the claude/issue-15982-published-prose-vs-schema branch September 6, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants